package com.shyt.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.shyt.dao.SysPermissionVo;
import com.shyt.dao.SysRolePermissionVo;
import com.shyt.dao.SysRoleVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;


@Mapper
@Repository
public interface SysPermissionMapper extends BaseMapper<SysPermissionVo> {
    /****
     * 查询全量权限，待扩展，入参是map
     * @param rcMap 入参
     * @return List<SysPermissionVo>
     */
    List<SysPermissionVo> selectPermissions(@Param("params") Map rcMap);


    /*****
     * 根据用户信息去查询对应的权限
     * @param rcMap 入参
     * @return List<SysPermissionVo>
     */
    List<SysPermissionVo> selectPermissionsByUser(@Param("params") Map<String,String> rcMap);

    /***
     *新增菜单
     * @param sysPermissionVo
     */
    void addMenu(@Param("params")SysPermissionVo sysPermissionVo);

    /***
     * 下拉框
     * @return
     */
    List<SysPermissionVo> selectMenuXlk();

    List<SysPermissionVo> selectAllMenus(SysPermissionVo sysPermissionVo);

    List<SysPermissionVo> selectMenuTypeXlk();

    void editMenu(@Param("params")SysPermissionVo sysPermissionVo);

    List<SysRoleVo> selectRolesByMeunId(@Param("params")SysPermissionVo sysPermissionVo);

    List<SysRoleVo> selectWSQRolesByMeunId(@Param("params")SysPermissionVo sysPermissionVo);

    void deleteRolePermisson(String id);

    SysRolePermissionVo selectRolePermisson(String id, String roleId);

    void insertRoleMenuEdit(String id, String roleId);

    void deleteMenuRoles(@Param("params") SysPermissionVo sysPermissionVo);
}
